1. Field of the Invention
The present invention relates to wireless networks, and more particularly, to providing network access over different networks.
2. Description of the Related Art
The tremendous growth of the Internet in recent years has fueled the need to provide wireless devices such as mobile telephones, personal digital assistants (PDAs) and the like with access to information and services available on the Internet. However, providing wireless devices with access to the Internet is complicated by the fact that various different carrier networks with different wireless network characteristics are used domestically and world wide to communicate with the wireless devices. Examples of wireless networks include Cellular Digital Packet Data (CDPD), Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA) and Time Division Multiple Access (TDMA) to name a few, and each of these wireless networks has different data transfer characteristics such as latency, bandwidth, protocols and connection methods. As examples, protocols can be Internet Protocol (IP), Short Messaging System (SMS) and Unstructured Supplementary Service Data (USSD), and connection methods can include packet switched or circuit switched.
FIG. 1 is a block diagram of a conventional communication system 100 suitable for coupling a mobile communication device to the Internet. Specifically, the communication system 100 includes a mobile communication device 102 that couples through a carrier network 104 to a network gateway 106. The network gateway 106 facilitates the coupling of the mobile communication device 102 with the Internet 108. As is common, various computer systems including computers supporting application server A 110 and application server B 112 are coupled to or form part of the Internet 108. The primary function of the network gateway 106 is to receive data requests from the carrier network 104 and convert them into Hyper Text Transfer Protocol (HTTP) requests for use with the Internet 108. Likewise, the network gateway 106 also receives HTTP responses from the Internet 108 and converts them to data responses with a format (e.g., protocol) suitable for use with the carrier network 104.
Conventionally, the network gateway 106 is able to couple a single carrier network 104 to the Internet 108. In such cases, the network gateway 106 is specifically designed and constructed for the particular type of network and its protocols used by the carrier network 104. The network gateway 106 thus provides the various mobile communication devices utilizing the carrier network 104 with Internet access.
However, in the wireless communication world, particularly with mobile telephones, there are a wide variety of carrier networks that are used to provide telephone and data transmission services to mobile telephones. These various carrier networks often have different network types as well as different protocols for transporting data. Hence, the construction of a network gateway for use with one particular carrier network often means that the same network gateway will not support other carrier networks. Consequently, a particular carrier network will need its own network gateway to facilitate the coupling of its associated mobile communication devices with the Internet.
Such limitations are particularly problematic in the case in which a company has several carrier networks that are used to support its various subscribers having mobile communication devices. In such a case, the company will require multiple network gateways in order to couple the various carrier networks to the Internet. Each of these network gateways will be constructed somewhat differently to accommodate the wireless characteristics of the particular carrier network. Besides the general burden of providing multiple network gateways, there are other disadvantages of such an approach. One such disadvantage is that by requiring different carrier networks or information providers to provide their own gateway network is not only an inefficient use of resources but also complicates the management and servicing requirements. Another disadvantage of using multiple network gateways to support the different carrier networks is that software development costs substantially increase.
Besides the problem of using multiple network gateways, another problem is that often narrowband wireless networks are used for the communications between mobile communication devices and the Internet. These narrowband wireless networks have limited bandwidth and have normally been used only for one-way communications. However, with multiple network gateways that are scaleable, there is a need for techniques that direct incoming messages to different parts of the multiple network gateway so that messages from different mobile communication devices or wireless networks can be processed differently. It would also be advantageous to carry out two-way communications over these narrowband wireless networks.
Thus, there is a need for improved ways to couple carrier networks to the Internet in an efficient and cost effective way.
Broadly speaking, the invention relates to techniques for routing messages to addressable portions (e.g., processes) within an apparatus. The techniques can be performed by a variety of apparatus including, for example, a gateway, a proxy server or a mobile device. After receiving the messages routed thereto, the addressable portions are able to process the messages and perhaps return a reply message. Often, the apparatus is a gateway or proxy server coupled between a network containing remote computers storing information and a wireless communication system including a plurality of mobile devices. The processing of the message will typically act to produce a message that forwards certain of the information from one or more of the remote computers on the network to a mobile device coupled to the wireless communication system.
The invention is particularly well suited for directing incoming messages to different parts of a multiple network gateway so that messages from different mobile devices or wireless communication system can be processed differently. With the invention, a narrowband wireless network can be used to provide two-way communications between the mobile devices and the network.
The invention can be implemented in numerous ways, including as a method, an apparatus, a computer readable medium, and a computer system. Several embodiments of the invention are discussed below.
As method for routing messages to one of a plurality of addressable portions within a gateway that couples to a network, an embodiment of the invention includes the acts of: receiving, at the gateway, a message from a mobile device, the message including a header portion and a data portion, the header portion including a destination port identifier and a source port identifier, the source port identifier identifies a port within the mobile device, and the destination port identifier identifies a port within the gateway; obtaining the destination port identifier from the message; and routing the message to a particular one of the addressable portions within the gateway that is associated with the port identified by the destination port number.
As an apparatus that provides mobile devices with access to a network, one embodiment of the invention includes a plurality of processes that process messages directed to the network, and an internal message router. Each of the messages includes a destination port identifier, a source port identifier and a data portion. For a particular message, the source port identifier identifies a port within a mobile device that sent the particular message to the apparatus, and the destination port identifier identifies a port within the apparatus where the particular message is to be processed. The internal message router receives incoming messages and routes the messages to the ports associated with the processes that are to process the messages. The routing of the messages is done based on the destination port identifiers within the messages.
As a computer readable medium containing computer program code for routing messages to one of a plurality of processes or entities within an apparatus that couples to a network, an embodiment of the invention includes: computer program code for receiving at the apparatus a message from a mobile device, the message including a header portion and a data portion, the header portion including a destination port identifier and a source port identifier, the source port identifier identifies a port within the mobile device, and the destination port identifier identifies a port within the apparatus; computer program code for obtaining the destination port identifier from the message; and computer program code for routing the message to a particular one of the processes or entities within the apparatus
As a system for delivery of information from a network of computers to wireless communication devices, an embodiment of the invention includes: a plurality of wireless communication devices, the wireless communications devices including a processing unit and a display screen; a plurality of wireless network carriers, each of the wireless network carriers providing wireless communication services to the plurality of wireless communication devices, and a plurality of the wireless network carriers using a different combination of network type and transport protocol; a network of computers, one or more of the computers of the network of computers contains information; and a multi-network gateway. The multi-network gateway couples the wireless network carriers to the network of computers to facilitate data transfer therebetween, each of the plurality of the wireless network carriers using a different combination of network type and protocol are coupled to the network of computers by a network driver configured for the particular combination of network type and protocol, and each of the network drivers operate to exchange data with certain of the wireless communication devices via the wireless network carriers associated therewith. The multi-network gateway includes at least a plurality of processes and an internal message router. The plurality of processes operate to process messages directed to the network. Each of the messages includes a destination port identifier, a source port identifier and a data portion. For a particular message, the source port identifier identifies a port within a wireless communication device that sent the particular message to the apparatus and the destination port identifier identifies a port within the apparatus where the particular message is to be processed. The internal message router receives incoming messages and routes the messages to the ports associated with the processes that are to process the messages, the routing being based on the destination port identifiers within the messages that identify the ports associated with the processes.
As a method for registering a process with an internal message router of a network gateway within a communication system, the network gateway providing wireless communication devices with access to a network, an embodiment of the invention includes the acts of: sending a registration request to the internal message router when a process within the network gateway capable of be routed to by the internal message router is activated; processing the registration request at the internal message router to assign a port number for the process; and returning the assigned port number to the process.
The advantages of the invention are numerous. One advantage of the invention is that each process within a gateway is able to be separately addressable. Another advantage of the invention is that messages are able to be routed between a process in a mobile device and a process in the gateway. At the gateway then, a message can be routed to the appropriate process within the gateway that is to process the message. Still another advantage of the invention is that a scaleable multiple network gateway supporting different wireless networks is facilitated by the improved ability to route messages. Yet another advantage of the invention is that it facilitates scaleable two-way communications over narrowband networks.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.